package com.resifind.www.service;

import com.resifind.www.exception.Resp;
import com.resifind.www.po.*;

/**
 * @author 36069
 */
public interface MerchantService {

    /**
     * 客户或游客分页和条件查询商家信息
     * <p>
     * 校验客户id来判断是客户还是游客，调用不同的查询方法。
     * </p>
     *
     * @param currentPage 当前页码
     * @param pageSize    每页显示的记录数
     * @param tradeName   店铺名称
     * @param clientId    客户id
     * @return 商家的PageBean对象
     */
    Resp<PageBean<Merchant>> queryByPageAndCondition(int currentPage, int pageSize, String tradeName, int clientId);

    /**
     * 管理员分页和条件查询商家信息
     *
     * @param currentPage 当前页码
     * @param pageSize    每页显示的记录数
     * @param tradeName   店铺名称
     * @return 商家的PageBean对象
     */
    Resp<PageBean<Merchant>> queryByPageAndConditionForAdmin(int currentPage, int pageSize, String tradeName);

    /**
     * 修改商家信息
     *
     * @param merchant 商家对象
     * @return 返回修改结果
     */
    Resp<String> updateMerchant(Merchant merchant);

    /**
     * 更新商家状态
     *
     * @param merchantId 商家id
     * @param newStatus  新的状态
     * @return 更新结果
     */
    Resp<String> updateMerchantStatus(int merchantId, String newStatus);

}
